package zhongbo.java.air.monitor.Service;

import zhongbo.java.air.monitor.model.dto.PointDto;

import java.util.List;

public interface IJtsService {
    /**
     * 解析多边形数据
     * <p>
     * 示例: [{"longitude":115.95,"latitude":40.45},{"longitude":115.95,"latitude":39.48},{"longitude":117.2,"latitude":39.41},{"longitude":117.49,"latitude":40.41},{"longitude":115.95,"latitude":40.45}]
     *
     * @param vertices 警戒区多边形json文本
     * @return 多边形点位数据列表 如果无效, 返回null
     */
    List<PointDto> parseAlertZoneVertices(String vertices);

    /**
     * 判断点位是否在警戒区域内
     *
     * @param pointList 警戒区多边形点位集合
     * @param longitude 经度
     * @param latitude  维度
     * @return bool
     */
    boolean isInAlertZone(List<PointDto> pointList, Double longitude, Double latitude);
}
